Semiconductor memories can be classified as volatile or non-volatile.
The family of volatile memories includes for example Static RAMs (SRAMs), Dynamic RAMs (DRAMs), and Pseudo-Static RAMs (PSRAMs). SRAMs are capable of operating at very high speeds, but are relatively expensive and power consuming; their main use is for fast-access, relatively small data storage areas (such as, for example, cache memories for data processors). DRAMs are significantly slower than SRAMs and require periodical data refreshes, but the compactness of their elemental memory cells allows integrating very large arrays of memory cells in a single semiconductor chip, and are therefore rather cheap; DRAMs are mainly used as large data storage areas where very fast access is not a primary goal. PSRAMs are substantially DRAMs with an embedded SRAM, operating as a cache for the most recently accessed DRAM locations.
The family of non-volatile memories includes mask ROMs, UV-erasable Electrically Programmable ROMs (EPROMs) and Electrically Erasable and Programmable ROMs, such as Flash memories and EEPROMs. In particular, Flash memories have become rather popular thanks to the possibility they offer of altering the data in a totally electrical way, and because large arrays of Flash memory cells can be integrated in a single semiconductor chip. Flash memories are typically exploited for storing data processor code and/or data.
In several applications there is the necessity of providing both volatile and non-volatile memories: the former allow to easily read and write data, but do not preserve the stored data when the power supply is removed; the latter are slower, especially as far as writing of data is concerned, but guarantee that the stored data do not get lost.
For example, when a Flash memory is provided to store a program for a microprocessor, it is preferable to have a volatile memory into which a piece of the program to be executed is stored; in this way, the fetching of the instructions by the microprocessor is faster, and data can be written in a time comparable with the read access time.
Attempts have been made to integrate in a same chip both a Flash memory and a volatile memory. However, it is difficult to devise a manufacturing process optimised for both the type of memories, and the chip size significantly increases.